package com.heg.bk.dao;

import java.util.List;
import java.util.Map;

/**
 * mybatis封装dao层
 * @author dengxuzhao
 * @time 2016-04-10
 * @version 1.1
 */
public interface MybatisBaseDao {
	
	/**
	 * 对象添加（传参为Object对象）
	 * @param object 添加对象
	 * @param mapperId 配置文件对应ID号
	 * @return 返回新增对象ID
	 */
	public Integer insert(Object object, String mapperId);
	
	/**
	 * 对象添加（传参为map对象）
	 * @param obj 添加map对象
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回新增对象ID
	 */
	public Integer insert(Map<String, String> obj, String mapperId);
	
	/**
	 * 根据ID删除对象
	 * @param objId 对象ID
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回受影响的行数
	 */
	public Integer delete(String objId, String mapperId);
	
	/**
	 * 根据ID查询对象
	 * @param objId 对象ID
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回查询结果对象
	 */
	public Object selectOne(String objId, String mapperId);
	
	/**
	 * 根据对象查询
	 * @param obj 对象
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回查询结果对象
	 */
	public List selectList(Object obj, String mapperId);
	
	/**
	 * 多对象查询（返回List集合）
	 * @param params 查询参数
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回查询结果对象
	 */
	public Object selectList(String params, String mapperId);
	
	/**
	 * 多对象查询（返回Map集合）
	 * @param params 查询参数
	 * @param mapperId 配置文件对应的ID号
	 * @return 返回查询结果对象
	 */
	public Object selectMap(String params, String mapperId);
	
	/**
	 * 数据更新
	 * @param obj 更新对象
	 * @param mapperId 配置文件对应的ID号
	 * @return
	 */
	public Integer update(Object obj, String mapperId);

}
